WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::StateVector2d Class Reference

State block for general 2D vectors. More...

#include <core/state_block/state_block_derived.h>

Inheritance diagram for wolf::StateVector2d:
[legend]

Public Member Functions

 StateVector2d (const Eigen::VectorXd &_state, bool _fixed=false, bool _transformable=true)
 
 WOLF_STATE_BLOCK_CREATE (StateVector2d)
 
void transform (const VectorComposite &_transformation) override
 
- Public Member Functions inherited from wolf::StateBlock
 StateBlock (const std::string &_type, const SizeEigen _size, bool _fixed=false, LocalParametrizationBasePtr _local_param_ptr=nullptr, bool _transformable=true)
 Constructor from size. More...
 
 StateBlock (const std::string &_type, const Eigen::VectorXd &_state, bool _fixed=false, LocalParametrizationBasePtr _local_param_ptr=nullptr, bool _transformable=true)
 Constructor from vector. More...
 
 StateBlock (const StateBlock &o)=delete
 
 StateBlock (StateBlock &&o)=delete
 
StateBlock & operator= (const StateBlock &o)=delete
 
virtual ~StateBlock ()
 Destructor. More...
 
std::string getType () const
 Returns the type of the state block. More...
 
Eigen::VectorXd getState () const
 Returns the state vector. More...
 
double * getStateData ()
 Returns the state vector data array. More...
 
void setState (const Eigen::VectorXd &_state, const bool _notify=true)
 Sets the state vector. More...
 
SizeEigen getSize () const
 Returns the state size. More...
 
SizeEigen getLocalSize () const
 Returns the size of the local parametrization. More...
 
bool isFixed () const
 Returns if the state is fixed (not estimated) More...
 
void fix ()
 Sets the state as fixed. More...
 
void unfix ()
 Sets the state as estimated. More...
 
void setFixed (bool _fixed)
 Sets the state status. More...
 
bool hasLocalParametrization () const
 Returns if the state has a local parametrization. More...
 
LocalParametrizationBasePtr getLocalParametrization () const
 Returns the state local parametrization ptr. More...
 
void setLocalParametrization (LocalParametrizationBasePtr _local_param)
 Sets a local parametrization. More...
 
void removeLocalParametrization ()
 Removes the state_block local parametrization. More...
 
bool stateUpdated () const
 Return if state has been updated. More...
 
bool fixUpdated () const
 Return if fix/unfix has been updated. More...
 
bool localParamUpdated () const
 Return if local parameterization has been updated. More...
 
void resetStateUpdated ()
 Set state_updated_ to false. More...
 
void resetFixUpdated ()
 Set fix_updated_ to false. More...
 
void resetLocalParamUpdated ()
 Set localk_param_updated_ to false. More...
 
virtual void setIdentity (bool _notify=true)
 
void setZero (bool _notify=true)
 
virtual Eigen::VectorXd identity () const
 
Eigen::VectorXd zero () const
 
void perturb (double amplitude=0.1)
 perturb all states states with random noise following an uniform distribution in [ -amplitude, amplitude ] More...
 
bool isTransformable () const
 
void setTransformable (bool _trf=true)
 
void setNonTransformable ()
 
virtual void transform (const VectorComposite &_transformation)=0
 
void plus (const Eigen::VectorXd &_dv)
 
bool isValid (double tolerance=Constants::EPS)
 

Static Public Member Functions

static Eigen::VectorXd Identity ()
 

Additional Inherited Members

- Protected Attributes inherited from wolf::StateBlock
std::string type_
 Type of the derived class. More...
 
std::atomic_bool fixed_
 Key to indicate whether the state is fixed or not. More...
 
std::atomic< SizeEigen > state_size_
 State vector size. More...
 
Eigen::VectorXd state_
 State vector storing the state values. More...
 
std::mutex mut_state_
 State vector mutex. More...
 
LocalParametrizationBasePtr local_param_ptr_
 Local parametrization useful for optimizing in the tangent space to the manifold. More...
 
std::atomic_bool state_updated_
 Flag to indicate whether the state has been updated or not. More...
 
std::atomic_bool fix_updated_
 Flag to indicate whether the status has been updated or not. More...
 
std::atomic_bool local_param_updated_
 Flag to indicate whether the local_parameterization has been updated or not. More...
 
bool transformable_
 Flag to indicate if the state block can be transformed to another reference frame. More...
 

Detailed Description

State block for general 2D vectors.

This state block can be transformed with a geometric frame transformation. This is controlled at construction time by parameter _transformable, or later via setTransformable(bool). Being a vector, the geometric frame transformation will rotate the vector.

This state block cannot have a local parametrization

Constructor & Destructor Documentation

◆ StateVector2d()

wolf::StateVector2d::StateVector2d ( const Eigen::VectorXd &  _state,
bool  _fixed = false,
bool  _transformable = true 
)
inline

Member Function Documentation

◆ Identity()

static Eigen::VectorXd wolf::StateVector2d::Identity ( )
inlinestatic

◆ transform()

void wolf::StateVector2d::transform ( const VectorComposite &  _transformation)
inlineoverridevirtual

Implements wolf::StateBlock.

◆ WOLF_STATE_BLOCK_CREATE()

wolf::StateVector2d::WOLF_STATE_BLOCK_CREATE ( StateVector2d  )

The documentation for this class was generated from the following file: